package Text1;

public class Solution {
    public int minSubArrayLen(int target, int[] nums) {
//        给定一个含有 n 个正整数的数组和一个正整数 target 。
//        找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组
//        [numsl, numsl+1, ..., numsr-1, numsr] ，并返回其长度。
//        如果不存在符合条件的子数组，返回 0 。
        int n=nums.length,len=Integer.MAX_VALUE,sum=0;
        for (int left = 0,right=0; right <n ; right++) {
            sum+=nums[right];
            while(sum>=target){
                len=Math.min(len,right-left+1);
                sum-=nums[left++];
            }
        }
        return len==Integer.MAX_VALUE?0:len;
    }
}
